package com.epmis.epmis.Mapper;

import com.epmis.epmis.pojo.*;
import org.apache.ibatis.annotations.Mapper;

import java.util.HashMap;
import java.util.List;

@Mapper
public interface UserMapper{
    Enterprise getEnterpriseName(int id);

    Department getDepartmentName(int id);

    Post getPostName(int id);

    User isExistSameUsername(String username);

    User getUserMessage(int id);

    List<User> getMemberMessage(int enterprise_id);

    List<Department> getDepartment(int id);

    List<Post> getPost(int id);

    List<Department> getMoveDepartment(int id);

    Examine getExamineId(String number);

    User getManagerId(int enterprise_id,int post_id);

    Post getManagerPostId(int enterprise_id);

    Project isExistSameNumber(String project_number,String enterprise_id);

    List<Notification> getUserUnReadNotification(int recipient_id);

    List<Notification> getUserReadNotification(int recipient_id);

    int updateUserName(HashMap<String,Object> map);

    int updatePassword(HashMap<String,Object> map);

    int updatePhone(HashMap<String,Object> map);

    int updateEmail(HashMap<String,Object> map);

    int updateHeadImg(HashMap<String,Object> map);

    int updateNotificationStatue(int id);

    int updateNotificationPhoto(HashMap<String,Object> map);

    int createProject(Project project);

    int createMission(Mission mission);

    int createTarget(Target target);

    int createProjectMission(MissionProject missionProject);

    int createCost(Cost cost);

    int createExamine(Examine examine);

    int createActivity(Activity activity);

    int createExamineProcess(ExamineProcess examineProcess);

    int createNotification(Notification notification);

    int deleteMessage(int id);

    Double getMainpageHour(int id);

    Integer getMainpageMissionNum(int id);

    Integer getMainpageProjectNum(int id);

    Double getMainpageMissionFinish(int id);

    Double getMainpageMissionDelay(int id);

    List<ProjectPage> getMainpageProjectTop(int id);

    Double getProjectFinish(int id);

    ReportResult getReportHead(int id);

    List<ReportProject> getProjectList(int id);

    ReportProject getProjectNumList(Integer id);
}
